package com.gable.dao;

import com.gable.model.Role;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 接口说名：角色模块Dao层接口
 * 创建时间：2016-08-16
 * @author 乔春峰
 *
 */
@Repository
public interface RoleDao {
	
	/**
	 * 角色权限
	 * @param id
	 * @return
	 */
	public List<Role> roleAuth(Long id);
	
	/**
	 * 功能说明：查询全部角色(主要用于下拉框显示)
	 * 创建人：乔春峰
	 * 创建时间：2016-08-16
	 * @return
	 */
	List<Role> queryRoleAll(Map<String, Object> map);
	
	/**
	 * 功能说明：查询角色是否存在
	 * 创建人：乔春峰
	 * 创建时间：2016-08-16
	 * @param map
	 * @return
	 */
	int count(Map<String, Object> map);
	
	/**
	 * 功能说明:添加角色
	 * 创建时间：2016-08-19
	 * 创建人：乔春峰
	 * @param user
	 * @return
	 */
	int addRole(Role role);
	
	/**
	 * 功能说明:查询用户列表
	 * 创建时间：2016-08-18
	 * 创建人：乔春峰
	 * @param user
	 * @return
	 */
	List<Role> list(Map<String, Object> map);
	
	/**
	 * 功能说明:修改角色
	 * 创建时间：2016-08-19
	 * 创建人：乔春峰
	 * @param user
	 * @return
	 */
	int updateRole(Role role);

	/**
	 * 查询医院下的角色
	 * @create date 2017/6/20
	 * @create user jacky
	 * @return
	 */
	List<Role> queryroleListByselect(Long tag);

	/**
	 * 查询该权限下所有的子级权限
	 * @param uid
	 * @return
	 */
	public List<Role> queryRoleByParentId(Map<String, Object> map);
}
